electrician contractor plumbing c++ heating acoustic consulting gas j2ee uml business analysis plumber use cases electric extreme programming project management olap commercial java